package file.day9_19.day04;

public class ThrowDemo {
    public static void main(String[] args) {
        Person person = new Person();

        try {
            person.setAge(100);
        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("此人年龄" + person.getAge());

        /*
        异常处理机制:
        异常处理机制是用来处理那些可能存在的异常，但是无法通过修改逻辑完全规避的场景。
        而如果通过修改逻辑可以规避的异常是bug，不应当用异常处理机制在运行期间解决！应当在编码时及时修正
                try语句块用来包含可能出错的代码片段

        catch用来捕获并处理对应的异常，可以定义多个，也可以合并多个异常在一个catch中。

        finally是异常的最后一块，只要程序执行到try中则必走。一般用于释放资源这类操作。

        throw用于主动对外抛出异常。要么是满足语法不满足业务主动抛出异常，
        要么就是实际发生了异常但是不应当在当前代码片段被解决是抛出。具体情况要结合实际业务分析。

        throws用于在方法声明时声明该异常的抛出，使得调用者必须处理该异常。
        */
    }
}
